#ifndef WORLD_H_
#define WORLD_H_

#include "userconfig.h"
#include "Body.h"

namespace physicsworks {

class World {
public:
	virtual ~World() {}
	virtual void setName(const char* name) = 0;
	virtual const char* getName() const = 0;
	virtual void add(Body* b) = 0;
	virtual void remove(Body* b) = 0;
	virtual void removeAll() = 0;
	virtual void setGravity(real gX, real gY, real gZ) = 0;
	virtual real* getGravity() const = 0;
	virtual Body** getBodiesList(int* size) = 0;
	virtual void execute(real timeStep) = 0;
	virtual void setTimeStepPrecision(real timeStep) = 0;
	virtual real getTimeStepPrecision() const = 0;
};

}

#endif /*WORLD_H_*/
